{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 运行版本"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'3.8.13 (default, Mar 28 2022, 06:59:08) [MSC v.1916 64 bit (AMD64)]'"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import sys\n",
    "\n",
    "sys.version"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'2.6.0'"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import tensorflow\n",
    "\n",
    "tensorflow.__version__"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'1.10.1'"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import torch\n",
    "\n",
    "torch.__version__"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "# !python -m deepxde.backend.set_default_backend tensorflow.compat.v1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using backend: tensorflow\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "'1.1.3'"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import deepxde\n",
    "\n",
    "deepxde.__version__"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 3 热方程(Heat equation)\n",
    "\n",
    "\"热像引力一样穿透宇宙所有物质，辐射整个空间“。                                \n",
    "\n",
    "​\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t——傅立叶《热分析理论》1822\n",
    "\n",
    "\n",
    "## 3.1 什么是热传导方程\n",
    "\n",
    "热传导方程(heat equation)\n",
    "$$\n",
    "\\large u_t - \\Delta u = 0,  \\tag{3.1}\n",
    "$$\n",
    "以及非齐次热传导方程\n",
    "$$\n",
    "\\large u_t - \\Delta u = f.  \\tag{3.2}\n",
    "$$\n",
    "其中给定合适的初值与边界条件. 这里 $t>0,x\\in U \\subset \\mathbb{R}^n$ 为开集. 不确定的东西是 $\\large u:\\bar{U} \\times[0,\\infty) \\to \\mathbb{R}, u = u(x,t)$，而Laplace算子是关于空间 $x=(x_1,\\cdots,x_n)$ 的, 即 $\\Delta u = \\Delta_x u = \\sum^n_{i=1} u_{x_i x_i}$ 在非齐次的方程中 $f:U\\times[0,\\infty) \\to \\mathbb{R}$ 是给定的.\n",
    "\n",
    "\n",
    "\n",
    "## 3.2 基本解\n",
    "\n",
    "**定义3.1 [热传导方程的基本解]** 定义函数\n",
    "$$\n",
    "\\large\n",
    "\\Phi(x,t) \\triangleq \n",
    "\\begin{cases}\n",
    "\\begin{aligned}\n",
    "&\\frac{1}{(4\\pi t)^{n/2}} e^{-\\frac{|x|^2}{4t}}, & x \\in \\mathbb{R}^n, t > 0\\\\\n",
    "&0, & x \\in \\mathbb{R}^n, t \\leq 0\\\\\n",
    "\\end{aligned}\n",
    "\\end{cases}\n",
    "\\tag{3.3} \\\\\n",
    "$$\n",
    "为热传导方程的基本解。\n",
    "\n",
    "\n",
    "\n",
    "## 3.3 齐次初值问题\n",
    "\n",
    "下面用 $\\Phi(x,t) $ 来解下面的初值(Cauchy)PDE:\n",
    "$$\n",
    "\\large\n",
    "\\begin{cases}\n",
    "\\begin{aligned}\n",
    "u_{t}-\\Delta u &= 0, in \\ \\mathbb{R}^n \\times (0,\\infty) \\\\ \n",
    "u &= g, on \\ \\mathbb{R}^n \\times \\{t=0\\}.  \\\\ \n",
    "\\end{aligned}\n",
    "\\end{cases} \n",
    "\\tag{3,4}\n",
    "$$\n",
    "\n",
    "仿照Laplace方程的过程, 如果我们作一个卷积\n",
    "$$\n",
    "\\large\n",
    "\\begin{align}\n",
    "u(x,t) &= \\int_{\\mathbb{R}^n} \\Phi(x-y,t)g(y)dy\\\\\n",
    "       &= \\frac{1}{(4\\pi t)^{n/2}} \\int_{\\mathbb{R}^n} e^{-\\frac{|x-y|^2}{4t}}g(y)dy(x\\in \\mathbb{R}^n,t>0) \\\\\n",
    "\\tag{3.5}\n",
    "\\end{align}\n",
    "$$\n",
    "**定理1.2 [初值问题的解]** 设 $\\large g \\in C(\\mathbb{R}^n) \\cap L^{\\infty}(\\mathbb{R}^n)$，定义 $u$ 如式(3.5)，则\n",
    "\n",
    "（1） $\\large u\\in C^{\\infty}(\\mathbb{R}^n \\times (0,\\infty))$，\n",
    "\n",
    "（2）$\\large u_t(x,t)-\\Delta u(x,t) = 0, (x\\in \\mathbb{R}^n,t>0)$，\n",
    "\n",
    "（3）$\\large \\lim_{(x,t)\\to (x^0,0)} u(x,t) = g(x^0), \\forall x^0 \\in \\mathbb{R}^n, 这里x\\in \\mathbb{R}^n, t>0$。\n",
    "\n",
    "## 3.4 非齐次问题\n",
    "\n",
    "下面考虑非齐次问题\n",
    "$$\n",
    "\\large\n",
    "\\begin{cases}\n",
    "\\begin{aligned}\n",
    "u_{t}-\\Delta u &= f, in \\ \\mathbb{R}^n \\times (0,\\infty) \\\\ \n",
    "u &= 0, on \\ \\mathbb{R}^n \\times \\{t=0\\}.  \\\\ \n",
    "\\end{aligned}\n",
    "\\end{cases} \n",
    "\\tag{3,6}\n",
    "$$\n",
    "\n",
    "$$\n",
    "\\large\n",
    "\\begin{align*}\n",
    "u(x,t) &= \\int^t_0 u(x,t;s)ds \\\\\n",
    "       &= \\int^t_0 \\int_{\\mathbb{R}^n} \\Phi(x-y,t-s)f(y,s)dyds \\\\\n",
    "       &= \\int^t_0 \\frac{1}{(4\\pi (t-s))^{n/2}} \\int_{\\mathbb{R}^n} e^{-\\frac{|x-y|^2}{4(t-s)}}f(y,s)dyds,\\\\\n",
    "\\tag{3.7}\n",
    "\\end{align*}\n",
    "$$\n",
    "\n",
    "**定理1.3 [非齐次问题的解]** 定义 $u$ 如式(3.7), 则\n",
    "\n",
    "（1） $\\large u\\in C^2_1(\\mathbb{R}^n \\times (0,\\infty))$，\n",
    "\n",
    "（2）$\\large u_t(x,t)-\\Delta u(x,t) = f(x,t), (x\\in \\mathbb{R}^n,t>0)$，\n",
    "\n",
    "（3）$\\large \\lim_{(x,t)\\to (x^0,0)} u(x,t) = 0, \\forall x^0 \\in \\mathbb{R}^n, 这里x\\in \\mathbb{R}^n, t>0$。\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 代码来源\n",
    "https://github.com/lululxvi/deepxde/blob/master/examples/pinn_forward/heat_conduction_1d_uniform_bar.ipynb"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "在本代码中，我们将使用 DeepXDE 库中的 PINN 来求解热方程(heat equation)。\n",
    "\n",
    "热方程的形式如下:\n",
    "$$\\large \\frac{\\partial u}{\\partial t} = \\alpha \\nabla^2 u\\;$$ .\n",
    "\n",
    "其中 $\\nabla^2$ 是拉普拉斯微分算子，$\\alpha$ 是热扩散率常数，$u$ 是我们要近似的函数(温度)。\n",
    "\n",
    "在一维情况下，我们有:$$\\large \\frac{\\partial u(x, t)}{\\partial t} = \\alpha \\frac{\\partial^2u(x,t)}{{\\partial x}^2}\\;, \\;\\;\\;\\; x \\in [0, 1]\\;, \\;\\;\\;\\; t \\in [0, 1]\\;$$.\n",
    "\n",
    "具有 Dirichlet 边界条件: $$\\large u(0, t) = u(1, t) = 0\\;$$ , \n",
    "\n",
    "和周期性(sinoidal)初始条件: $$\\large u(x, 0) = sin(n\\pi x/L)\\;, \\;\\;\\;\\; 0 < x < L\\;, \\;\\;\\;\\; n = 1, 2, ...\\;.$$\n",
    "\n",
    "这种设置是许多微分方程教科书中常见的问题，可以被物理解释为均匀一维杆中温度随时间的变化。在这里，常量 $\\alpha$ 是热扩散率(棒的材料属性) ，$L$ 是棒的长度。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using backend: tensorflow\n",
      "\n"
     ]
    }
   ],
   "source": [
    "# Import libraries:\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "\n",
    "import deepxde as dde\n",
    "from deepxde.backend import tf"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "def heat_eq_exact_solution(x, t):\n",
    "    \"\"\"\n",
    "    Returns the exact solution for a given x and t (for sinusoidal initial conditions).\n",
    "    \n",
    "    Parameters\n",
    "    ----------\n",
    "    x : np.ndarray\n",
    "    t : np.ndarray\n",
    "    \"\"\"\n",
    "    \n",
    "    return np.exp(-(n**2*np.pi**2*a*t)/(L**2))*np.sin(n*np.pi*x/L)\n",
    "\n",
    "def gen_exact_solution():\n",
    "    \"\"\"\n",
    "    Generates exact solution for the heat equation for the given values of x and t.\n",
    "    \"\"\"\n",
    "    \n",
    "    # Number of points in each dimension:\n",
    "    x_dim, t_dim = (256, 201)\n",
    "\n",
    "    # Bounds of 'x' and 't':\n",
    "    x_min, t_min = (0, 0.)\n",
    "    x_max, t_max = (L, 1.)\n",
    "\n",
    "    # Create tensors:\n",
    "    t = np.linspace(t_min, t_max, num=t_dim).reshape(t_dim, 1)\n",
    "    x = np.linspace(x_min, x_max, num=x_dim).reshape(x_dim, 1)\n",
    "    usol = np.zeros((x_dim, t_dim)).reshape(x_dim, t_dim)\n",
    "\n",
    "    # Obtain the value of the exact solution for each generated point:\n",
    "    for i in range(x_dim):\n",
    "        for j in range(t_dim):\n",
    "            usol[i][j] = heat_eq_exact_solution(x[i],t[j])\n",
    "\n",
    "    # Save solution:\n",
    "    np.savez('heat_eq_data', x=x, t=t, usol=usol)\n",
    "    data = np.load('heat_eq_data.npz')\n",
    "\n",
    "\n",
    "def gen_testdata():\n",
    "    \"\"\"\n",
    "    Import and preprocess the dataset with the exact solution.\n",
    "    \"\"\"\n",
    "    \n",
    "    # Load the data:\n",
    "    data = np.load('heat_eq_data.npz')\n",
    "    \n",
    "    # Obtain the values for t, x, and the excat solution:\n",
    "    t, x, exact = data[\"t\"], data[\"x\"], data[\"usol\"].T\n",
    "    \n",
    "    # Process the data and flatten it out (like labels and features):\n",
    "    xx, tt = np.meshgrid(x, t)\n",
    "    X = np.vstack((np.ravel(xx), np.ravel(tt))).T\n",
    "    y = exact.flatten()[:, None]\n",
    "    \n",
    "    return X, y\n",
    "\n",
    "def main():\n",
    "\n",
    "    def pde(x, y):\n",
    "        \"\"\"\n",
    "        Expresses the PDE residual of the heat equation.        \n",
    "        \"\"\"\n",
    "        dy_t = dde.grad.jacobian(y, x, i=0, j=1)\n",
    "        dy_xx = dde.grad.hessian(y, x, i=0, j=0)\n",
    "        return dy_t - a*dy_xx\n",
    "\n",
    "    # Computational geometry:\n",
    "    geom = dde.geometry.Interval(0, L)\n",
    "    timedomain = dde.geometry.TimeDomain(0, 1)\n",
    "    geomtime = dde.geometry.GeometryXTime(geom, timedomain)\n",
    "\n",
    "    # Initial and boundary conditions:\n",
    "    bc = dde.DirichletBC(geomtime, lambda x: 0, lambda _, on_boundary: on_boundary)\n",
    "    ic = dde.IC(\n",
    "        geomtime, lambda x: np.sin(n*np.pi*x[:, 0:1]/L), lambda _, on_initial: on_initial\n",
    "        )\n",
    "\n",
    "    # Define the PDE problem and configurations of the network:\n",
    "    data = dde.data.TimePDE(\n",
    "        geomtime, pde, [bc, ic], num_domain=2540, num_boundary=80, num_initial=160, num_test=2540\n",
    "    )\n",
    "    net = dde.nn.FNN([2] + [20] * 3 + [1], \"tanh\", \"Glorot normal\")\n",
    "    model = dde.Model(data, net)\n",
    "\n",
    "    # Build and train the model:\n",
    "    model.compile(\"adam\", lr=1e-3)\n",
    "    model.train(epochs=20000)\n",
    "    model.compile(\"L-BFGS\")\n",
    "    losshistory, train_state = model.train()\n",
    "\n",
    "    # Plot/print the results\n",
    "    dde.saveplot(losshistory, train_state, issave=True, isplot=True)\n",
    "    X, y_true = gen_testdata()\n",
    "    y_pred = model.predict(X)\n",
    "    f = model.predict(X, operator=pde)\n",
    "    print(\"Mean residual:\", np.mean(np.absolute(f)))\n",
    "    print(\"L2 relative error:\", dde.metrics.l2_relative_error(y_true, y_pred))\n",
    "    np.savetxt(\"test.dat\", np.hstack((X, y_true, y_pred)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "G:\\Anaconda3\\envs\\py3.8\\lib\\site-packages\\skopt\\sampler\\sobol.py:246: UserWarning: The balance properties of Sobol' points require n to be a power of 2. 0 points have been previously generated, then: n=0+2542=2542. \n",
      "  warnings.warn(\"The balance properties of Sobol' points require \"\n",
      "G:\\Anaconda3\\envs\\py3.8\\lib\\site-packages\\skopt\\sampler\\sobol.py:246: UserWarning: The balance properties of Sobol' points require n to be a power of 2. 0 points have been previously generated, then: n=0+82=82. \n",
      "  warnings.warn(\"The balance properties of Sobol' points require \"\n",
      "G:\\Anaconda3\\envs\\py3.8\\lib\\site-packages\\skopt\\sampler\\sobol.py:246: UserWarning: The balance properties of Sobol' points require n to be a power of 2. 0 points have been previously generated, then: n=0+162=162. \n",
      "  warnings.warn(\"The balance properties of Sobol' points require \"\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Warning: 2540 points required, but 2550 points sampled.\n",
      "Compiling model...\n",
      "'compile' took 0.000367 s\n",
      "\n",
      "Training model...\n",
      "\n",
      "WARNING:tensorflow:AutoGraph could not transform <function main.<locals>.<lambda> at 0x00000209D80B98B0> and will run it as-is.\n",
      "Cause: could not parse the source code of <function main.<locals>.<lambda> at 0x00000209D80B98B0>: no matching AST found\n",
      "To silence this warning, decorate the function with @tf.autograph.experimental.do_not_convert\n",
      "WARNING: AutoGraph could not transform <function main.<locals>.<lambda> at 0x00000209D80B98B0> and will run it as-is.\n",
      "Cause: could not parse the source code of <function main.<locals>.<lambda> at 0x00000209D80B98B0>: no matching AST found\n",
      "To silence this warning, decorate the function with @tf.autograph.experimental.do_not_convert\n",
      "WARNING:tensorflow:AutoGraph could not transform <function main.<locals>.<lambda> at 0x00000209D80B9AF0> and will run it as-is.\n",
      "Cause: could not parse the source code of <function main.<locals>.<lambda> at 0x00000209D80B9AF0>: no matching AST found\n",
      "To silence this warning, decorate the function with @tf.autograph.experimental.do_not_convert\n",
      "WARNING: AutoGraph could not transform <function main.<locals>.<lambda> at 0x00000209D80B9AF0> and will run it as-is.\n",
      "Cause: could not parse the source code of <function main.<locals>.<lambda> at 0x00000209D80B9AF0>: no matching AST found\n",
      "To silence this warning, decorate the function with @tf.autograph.experimental.do_not_convert\n",
      "Step      Train loss                        Test loss                         Test metric\n",
      "0         [7.75e-04, 1.34e-02, 6.42e-01]    [7.36e-04, 1.34e-02, 6.42e-01]    []  \n",
      "1000      [1.81e-03, 9.81e-04, 9.12e-04]    [1.25e-03, 9.81e-04, 9.12e-04]    []  \n",
      "2000      [4.23e-04, 1.05e-04, 1.18e-04]    [2.68e-04, 1.05e-04, 1.18e-04]    []  \n",
      "3000      [2.56e-04, 2.98e-05, 5.80e-05]    [1.60e-04, 2.98e-05, 5.80e-05]    []  \n",
      "4000      [1.73e-04, 1.40e-05, 3.17e-05]    [1.10e-04, 1.40e-05, 3.17e-05]    []  \n",
      "5000      [1.26e-04, 1.01e-05, 2.10e-05]    [8.30e-05, 1.01e-05, 2.10e-05]    []  \n",
      "6000      [1.02e-04, 1.72e-05, 2.41e-05]    [6.40e-05, 1.72e-05, 2.41e-05]    []  \n",
      "7000      [7.72e-05, 5.25e-06, 9.09e-06]    [5.13e-05, 5.25e-06, 9.09e-06]    []  \n",
      "8000      [6.56e-05, 2.62e-05, 5.16e-05]    [4.79e-05, 2.62e-05, 5.16e-05]    []  \n",
      "9000      [5.11e-05, 3.08e-06, 5.64e-06]    [3.52e-05, 3.08e-06, 5.64e-06]    []  \n",
      "10000     [4.26e-05, 2.44e-06, 4.26e-06]    [3.00e-05, 2.44e-06, 4.26e-06]    []  \n",
      "11000     [3.63e-05, 2.18e-06, 3.44e-06]    [2.61e-05, 2.18e-06, 3.44e-06]    []  \n",
      "12000     [4.01e-04, 1.79e-04, 4.07e-05]    [3.38e-04, 1.79e-04, 4.07e-05]    []  \n",
      "13000     [4.08e-05, 6.56e-06, 3.75e-06]    [2.67e-05, 6.56e-06, 3.75e-06]    []  \n",
      "14000     [1.32e-04, 6.63e-05, 2.08e-05]    [1.13e-04, 6.63e-05, 2.08e-05]    []  \n",
      "15000     [2.14e-05, 1.27e-06, 1.78e-06]    [1.60e-05, 1.27e-06, 1.78e-06]    []  \n",
      "16000     [1.93e-05, 1.18e-06, 1.59e-06]    [1.45e-05, 1.18e-06, 1.59e-06]    []  \n",
      "17000     [1.75e-05, 1.11e-06, 1.50e-06]    [1.33e-05, 1.11e-06, 1.50e-06]    []  \n",
      "18000     [1.60e-05, 1.03e-06, 1.35e-06]    [1.19e-05, 1.03e-06, 1.35e-06]    []  \n",
      "19000     [1.48e-05, 2.48e-06, 3.36e-06]    [1.07e-05, 2.48e-06, 3.36e-06]    []  \n",
      "20000     [1.64e-05, 8.80e-07, 1.55e-06]    [1.14e-05, 8.80e-07, 1.55e-06]    []  \n",
      "\n",
      "Best model at step 18000:\n",
      "  train loss: 1.84e-05\n",
      "  test loss: 1.43e-05\n",
      "  test metric: []\n",
      "\n",
      "'train' took 58.161812 s\n",
      "\n",
      "Compiling model...\n",
      "'compile' took 0.013748 s\n",
      "\n",
      "Training model...\n",
      "\n",
      "Step      Train loss                        Test loss                         Test metric\n",
      "20000     [1.64e-05, 8.80e-07, 1.55e-06]    [1.14e-05, 8.80e-07, 1.55e-06]    []  \n",
      "20162     [2.66e-06, 3.38e-07, 9.08e-08]    [2.05e-06, 3.38e-07, 9.08e-08]    []  \n",
      "\n",
      "Best model at step 20162:\n",
      "  train loss: 3.09e-06\n",
      "  test loss: 2.48e-06\n",
      "  test metric: []\n",
      "\n",
      "'train' took 27.380236 s\n",
      "\n",
      "Saving loss history to E:\\noetbook\\毕业论文\\loss.dat ...\n",
      "Saving training data to E:\\noetbook\\毕业论文\\train.dat ...\n",
      "Saving test data to E:\\noetbook\\毕业论文\\test.dat ...\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAEJCAYAAACXCJy4AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAA9l0lEQVR4nO3dd3xVVbbA8d/KTa+UFCChd0ggQAQFBQQFVLDjYFdsOIM6+qzjvHmO44yOvrGNPhEV0bFhQ1FAVBQBQSCh916SQBIC6aTv98e5gRASSMhtyV3fz+d+7s3JPeesewLr7LvPPmuLMQallFLNn4+7A1BKKeUamvCVUspLaMJXSikvoQlfKaW8hCZ8pZTyEprwlVLKS2jCV0opL6EJXymlvISvq3YkIiHA/wGlwCJjzIdnWicyMtJ06tTJ2aEppVSzkpKSctgYE1VzeaMSvojMAMYDmcaY+GrLxwGvADbgbWPMc8DVwOfGmG9EZBZwxoTfqVMnkpOTGxOiUkp5HRHZV9vyxnbpzATG1diRDXgduAToA1wvIn2AOOCA/W0VjdyvUkqpBmpUwjfGLAaO1Fg8GNhpjNltjCkFPgGuAFKxkn6j96uUUqrhnJF4YznRkgcr0ccCXwLXiMgbwDd1rSwid4tIsogkZ2VlOSE8pZTyTs64aCu1LDPGmELg9jOtbIyZLiIHgQn+/v6DHB6dUsrtysrKSE1Npbi42N2hNGmBgYHExcXh5+dXr/c7I+GnAu2r/RwHpDdkA8aYb4BvkpKS7nJkYEopz5CamkpYWBidOnVCpLY2ojoTYwzZ2dmkpqbSuXPneq3jjC6dVUB3EeksIv7AJGBOQzYgIhNEZHpubq4TwlNKuVtxcTGtW7fWZN8IIkLr1q0b9C2pUQlfRD4GlgM9RSRVRO4wxpQDU4EFwBbgU2PMpoZs1xjzjTHm7oiIiMaEp5TyYJrsG6+hx7BRXTrGmOvrWD4PmHe22xWRCcCEbt26ndX6a77/gJLMnZx701NnG4JSSjU7Hjk8srEt/NJtP9Bn53RMZaWDI1NKNQfZ2dkkJiaSmJhImzZtiI2NPf5zaWnpaddNTk7m/vvvb9D+OnXqxOHDhxsTskO4rLSCK0lMH8Kzv+Jg6i7aduju7nCUUh6mdevWrF27FoCnnnqK0NBQHn744eO/Ly8vx9e39vSYlJREUlKSK8J0OI9s4Tf2om14pwEAHNqx2pFhKaWasdtuu42HHnqICy+8kMcee4yVK1cydOhQBgwYwNChQ9m2bRsAixYtYvz48YB1spg8eTIjR46kS5cuvPrqq2fcz4svvkh8fDzx8fG8/PLLABQWFnLZZZfRv39/4uPjmTVrFgCPP/44ffr0oV+/fiedkM6WR7bwGzsss33PJJgHRfvXA79zbHBKKYf66zeb2Jye59Bt9mkXzv9M6Nvg9bZv386PP/6IzWYjLy+PxYsX4+vry48//sif/vQnvvjii1PW2bp1Kz///DP5+fn07NmTe++9t85x8SkpKbz77rusWLECYwxDhgxhxIgR7N69m3bt2jF37lwAcnNzOXLkCLNnz2br1q2ICDk5OQ3+PDV5ZAu/sUIiWnFIovDL3uzuUJRSTcjEiROx2WyAlXQnTpxIfHw8Dz74IJs21T7Y8LLLLiMgIIDIyEiio6PJyMioc/tLly7lqquuIiQkhNDQUK6++mqWLFlCQkICP/74I4899hhLliwhIiKC8PBwAgMDufPOO/nyyy8JDg5u9OfzyBZ+Y0fpAGQGdSWycKfjglJKOcXZtMSdJSQk5Pjr//7v/+bCCy9k9uzZ7N27l5EjR9a6TkBAwPHXNpuN8vLyOrdvjKl1eY8ePUhJSWHevHk88cQTjBkzhr/85S+sXLmShQsX8sknn/Daa6/x008/nd0Hs/PIFr4jxuGXtO5N+8o0CgoLHRiZUspb5ObmEhsbC8DMmTMdss3hw4fz1VdfUVRURGFhIbNnz+aCCy4gPT2d4OBgbrrpJh5++GFWr15NQUEBubm5XHrppbz88svHLzI3hke28B0hMLYffgcq2LF9DX0GnO/ucJRSTcyjjz7KrbfeyosvvsioUaMcss2BAwdy2223MXjwYADuvPNOBgwYwIIFC3jkkUfw8fHBz8+PN954g/z8fK644gqKi4sxxvDSSy81ev9S11cMd6rWpXPXjh07zmobGbvWEvOfESxN+DvnXzPVsQEqpRply5Yt9O7d291hNAu1HUsRSTHGnDJ2tNl26UR36kspvlQcalBVB6WUarY8MuE7gtj8SPPtSFjONneHopRSHqHZJnyA3PAexJXupqLS87qtlFLK1Zp1wiemL9FylAOpB878XqWUauY8MuE7qh5+RKdEAA7tSHFAVEop1bR5ZMJ3VD38tj2sGRKLDqx3RFhKKdWkNdtx+ACBLdqSIxH4Ht7i7lCUUh4kOzub0aNHA3Do0CFsNhtRUVEArFy5En9//9Ouv2jRIvz9/Rk6dOgpv5s5cybJycm89tprjg+8kZp1wkeEjKCuRBae3Vh+pVTzdKbyyGeyaNEiQkNDa034nswju3QcqaRVLzpX7ien4Ji7Q1FKebCUlBRGjBjBoEGDGDt2LAcPHgTg1VdfPV6ieNKkSezdu5dp06bx0ksvkZiYyJIlS+rc5r59+xg9ejT9+vVj9OjR7N+/H4DPPvuM+Ph4+vfvz/DhwwHYtGkTgwcPJjExkX79+nG2N52eTvNu4QP+sf0ISv2ILTs2MnDAOe4ORylV0/zH4dAGx26zTQJc8ly9326M4b777uPrr78mKiqKWbNm8eSTTzJjxgyee+459uzZQ0BAADk5ObRo0YIpU6bU61vB1KlTueWWW7j11luZMWMG999/P1999RVPP/00CxYsIDY29njZ42nTpvHAAw9w4403UlpaSkVFRWOOQK08soXvqFE6ADHdrQu3R3evbfS2lFLNU0lJCRs3buTiiy8mMTGRZ555htTUVAD69evHjTfeyAcffFDnLFh1Wb58OTfccAMAN998M0uXLgVg2LBh3Hbbbbz11lvHE/t5553HP/7xD/75z3+yb98+goKCHPgJLR7Zwm/sBCjVteyYQAU+VBza6IDIlFIO14CWuLMYY+jbty/Lly8/5Xdz585l8eLFzJkzh7/97W911sWvDxEBrNb8ihUrmDt3LomJiaxdu5YbbriBIUOGMHfuXMaOHcvbb7/tsKJtVTyyhe9QfkFk+LYjVEssKKXqEBAQQFZW1vGEX1ZWxqZNm6isrOTAgQNceOGFPP/88+Tk5FBQUEBYWBj5+fln3O7QoUP55JNPAPjwww85/3yrcu+uXbsYMmQITz/9NJGRkRw4cIDdu3fTpUsX7r//fi6//HLWr3f8cPLmn/CB3PCexJbupqyi0t2hKKU8kI+PD59//jmPPfYY/fv3JzExkWXLllFRUcFNN91EQkICAwYM4MEHH6RFixZMmDCB2bNnn/Gi7auvvsq7775Lv379+M9//sMrr7wCwCOPPEJCQgLx8fEMHz6c/v37M2vWLOLj40lMTGTr1q3ccsstDv+cHlkeuUpSUpJJTk5u9Ha2fPJnem/9N9vu2ErP9m0dEJlSqjG0PLLjNPnyyI4W3jERgIPb17g3EKWUciOvSPjR3atKLKxzcyRKKeU+Lkv4ItJFRN4Rkc9dtc8qfq06UiRBWmJBKQ/iyd3JTUVDj2G9Er6IzBCRTBHZWGP5OBHZJiI7ReTxMwS22xhzR4OicxQfHzIDu9C6QEssKOUJAgMDyc7O1qTfCMYYsrOzCQwMrPc69R2HPxN4DXi/aoGI2IDXgYuBVGCViMwBbMCzNdafbIzJrHdUTlDcqjddU+eTmXeM6HDH39CglKq/uLg4UlNTycrKcncoTVpgYCBxcXH1fn+9Er4xZrGIdKqxeDCw0xizG0BEPgGuMMY8C4yvdwQu4h+bQIu0z1m+azvRA/q7OxylvJqfnx+dO3d2dxhepzF9+LFA9amkUu3LaiUirUVkGjBARJ44zfvuFpFkEUl25Nk/uutAAI5oiQWllJdqTGkFqWVZnR1yxphsYMqZNmqMmQ5MB2sc/llHV0Noh34AVBzUEgtKKe/UmBZ+KtC+2s9xQHrjwrE4snjacUEtyLZFE6IlFpRSXqoxCX8V0F1EOouIPzAJmOOIoBw1xWFNOeHdiSvdTXGZ48uOKqWUp6vvsMyPgeVATxFJFZE7jDHlwFRgAbAF+NQYc/Zl5E7en+Nb+ICJ7ksXSWdn+hGHblcppZqCeiV8Y8z1xpi2xhg/Y0ycMeYd+/J5xpgexpiuxpi/OyooZ7Xwwzsm4icVpO3UO26VUt7HI0srOKuFH9llAACF+zXhK6W8j0cmfGe18H2iulOGLzYtsaCU8kIemfCd1cLH5kdWYGdaF+7QW7qVUl7HIxO+s1r4AMWtetLN7CMt55jDt62UUp7MIxO+M/m360cbOcrOvfvdHYpSSrmURyZ8p3XpAJH2EgvZu3UyFKWUd/HIhO/MLp3AuARASywopbyPRyZ8pwqNId8ngmAtsaCU8jLel/BFyAnrQVzpbgpKyt0djVJKuYxHJnxn9uEDmOg+9JBUtqUfdcr2lVLKE3lkwndmHz5AWKf+BEsJB3brDVhKKe/hkQnf2Vp0qiqxsN7NkSillOt4ZcKXqF5U4oMtyyHFPZVSqknwyITv7D58/IM5EhBH68IdVFRqiQWllHfwyITv7D58gGMte9HN7GdfdqHT9qGUUp7EIxO+K/jHJtBRMtl+4JC7Q1FKKZfw2oTfsnMiPmI4vFtr4yulvIPXJnz/dlaJhXItsaCU8hJem/Bp0ZFinyBCcra6OxKllHIJ7034Pj7khHajfdkecopK3R2NUko5nUcmfKcPy7SrjO5LTznA5nTn7kcppTyBRyZ8VwzLBAjr0J+WUsC+vbucuh+llPIEHpnwXSWsQ38ACvfrSB2lVPPn1QmfmD4A+GRtdnMgSinlfN6d8INakusfQ+vCnZRVVLo7GqWUcirvTvjAsZY96cE+dmdpiQWlVPPm9Qnfr10CXSWdLWlZ7g5FKaWcyqUJX0SuFJG3RORrERnjyn3XJaJTIv5SQdYeLZWslGre6p3wRWSGiGSKyMYay8eJyDYR2Skij59uG8aYr4wxdwG3Ab87q4gdzLdNPADl6RvcHIlSSjmXbwPeOxN4DXi/aoGI2IDXgYuBVGCViMwBbMCzNdafbIzJtL/+s30994vsTrn4EnxUSywopZq3eid8Y8xiEelUY/FgYKcxZjeAiHwCXGGMeRYYX3MbIiLAc8B8Y8zq2vYjIncDdwN06NChvuGdPZsfuSFd6JC7l8z8YqLDAp2/T6WUcoPG9uHHAgeq/ZxqX1aX+4CLgGtFZEptbzDGTDfGJBljkqKiohoZXv1URvell88BthzMd8n+lFLKHRqb8KWWZXXOGWiMedUYM8gYM8UYM63Ojbqolk6V0Pb9aCtH2L3/wJnfrJRSTVRjE34q0L7az3FAeiO36bJaOlWC2vcDIH+fllhQSjVfjU34q4DuItJZRPyBScCcxgbl6hY+MdZIHS2xoJRqzhoyLPNjYDnQU0RSReQOY0w5MBVYAGwBPjXGNHpAu6tb+ITGcMw3gqjCHRSXVbhmn0op5WINGaVzfR3L5wHzHBYRVgsfmNCtWzdHbvZ0O6SwZS96ZBxgR0YBCXEuOtEopZQLeWRpBZe38LFKLPSUA2xJz3HZPpVSypU8MuG7Q1iHfgRLCYf26g1YSqnmySMTvssv2gI+9hILpQe1xIJSqnnyyITvji4donpTiRB0dCvG1HkrgVJKNVkemfDd0cLHP5iC4A50qdhLWs4x1+1XKaVcxCMTvlta+EBFVB/rwq2WWFBKNUMemfDdJaRDfzpJBjtSM9wdilJKOZwm/Gr828XjI4a8/evdHYpSSjmcRyZ8t/ThA8T0tfafqSUWlFLNj0cmfHf14dOiE2W2IKKLdrJyzxHX7lsppZzMIxO+2/j4YIvpQz+/NP4xb4sOz1RKNSua8GvwaRNPgm0/mw4cZv7GQ+4ORymlHEYTfk19rsC/PI+pLZbz/HdbKS2vdHdESinlEB6Z8N120Rag6yhofy5T5EsOZufw8cr9ro9BKaWcwCMTvtsu2gKIwKg/E3Asgz9FL+fVhTvILy5zfRxKKeVgHpnw3a7zBdB5BDeUfkFRYR7TF+92d0RKKdVomvDrMurP+BUf5rm433hryW4y8ordHZFSSjWKJvy6tB8M3ccwvuAzgioLeemH7e6OSCmlGkUT/ulc+CdsxUd5scNyPk0+wI4MLaqmlGq6PDLhu3WUTnXtBkCv8YzInkVb/2L++Z3OhqWUaro8MuG7dZROTRf+CZ/SAl7tuJQft2Ty2+5sd0eklFJnxSMTvkeJ6QvxVzPw4Cx6h5fw7HydEUsp1TRpwq+PkU8g5cd4OW4R6w7kMG+DllxQSjU9mvDrI7I79JtEj/2zGBpdyvMLtOSCUqrp0YRfXyMeRSrLeT7mR/ZlF/HRin3ujkgppRpEE359teoMA24idtcsLu9Yzqs/7dSSC0qpJsVlCV9EeovINBH5XETuddV+HWr4I4gIT7WYx5HCUt78RUsuKKWajnolfBGZISKZIrKxxvJxIrJNRHaKyOOn24YxZosxZgpwHZB09iG7UUQcDLqdVts/Y3LvSt5euptDuVpyQSnVNNS3hT8TGFd9gYjYgNeBS4A+wPUi0kdEEkTk2xqPaPs6lwNLgYUO+wSudsFDYPPnvwK+oqLSaMkFpVSTUa+Eb4xZDNSc5HUwsNMYs9sYUwp8AlxhjNlgjBlf45Fp384cY8xQ4EZHfgiXCmsDg+8kZNuXPJQIn6UcYLuWXFBKNQGN6cOPBQ5U+znVvqxWIjJSRF4VkTeBead5390ikiwiyVlZWY0Iz4mG/RH8grmj/BNCAnz553wtuaCU8nyNSfhSy7I6b0E1xiwyxtxvjLnHGPP6ad433RiTZIxJioqKakR4ThQSCUOm4L/ta/5yTiULt2ayfJeWXFBKebbGJPxUoH21n+OA9MaFY/GY4mmnM3QqBERwde77tI0I5Nn5W6is1JILSinP1ZiEvwroLiKdRcQfmATMcUxYTUBQSxg6Fdv2eTwzuJT1qbnM3XDQ3VEppVSd6jss82NgOdBTRFJF5A5jTDkwFVgAbAE+NcZsckRQHlUt83SGTIGgVoxKf5tebcJ4YcE2LbmglPJY9R2lc70xpq0xxs8YE2eMece+fJ4xpocxpqsx5u/ODdUDBYbDsAeQXT/ybFIh+48U8aGWXFBKeSiPLK3QJPrwqwy+C0KiSdz5GsO6teblH3ewdMdhd0elmpnS8kr2ZRe6OwzVxHlkwm8yXToA/iFwwUPI3qW8MCiHViH+3PTOCp74cj15WmtHOchrP+/k4hcXk5Gnd3ars+eRCb9JtfABBt0OYe1ol/Iv5t9/PncP78KsVQcY+9JiFm3LdHd0qokzxrA8OYXrWMAXKQfOvIJSdfDIhN+kWvgAfoEw4hFIXUngvp/506W9+eLeoYQE+HLbu6t4+LN15BZpa1+dnZR9R7mu8COe8XuX1SuX6oxr6qx5ZMJvkhJvghYdYOHTUFrEgA4t+fa+8/n9yK7MXpPGxS/9wo+bM9wdpWqCvl29jzG2FACS8heSsu+omyNSTZVHJvwm16UD4OsPFz0Fh9bD9JFwaAOBfjYeHdeLr34/jFYh/tz5fjJ//GQNRwtL3R2taiLKKio5vPF7IqQQExzJFbZlfLZKR4Kps+ORCb/JdelUib8Gbp4Nxbnw1ihY/jpUVpIQF8Gcqedz/+jufLv+IBe/tJjvNupNWurMlu44zPDSXyn3C0Uufpq2kk36hkUUlpS7OzTVBHlkwm/Suo6Ce3+FrqNhwZ/gw2shPwN/Xx8eurgHc6aeT0x4AFM+WM0fPlpNdkGJuyNWHuybNXsZ65uM9LwU+l5JhW8QYyuX6F3d6qx4ZMJvkl061YVEwvUfw2X/gn2/whtDYfsCAPq0C+erPwzj4TE9+GFTBhe/tJhv1qXrhTh1iqLScgo2LySCQmwJV4N/CD69xzPBdyWzV+lsa6rhPDLhN9kunepE4Jw74e5frBr6H10H8x6FsmL8bD5MHdWdb+8/n/Ytg7jv4zVM+SCFzHwdY61O+GFzBheZ5ZT7hVnfHAFJmEgE+QQeWMLurAI3R6iaGo9M+M1KdC+4cyGc+3tY+Sa8dSFkbAagR0wYX9w7lCcu6cXP27K46F+/8PKP28kp0ou6Cr5ZvY9xvinYel0CvgHWwq6jqAxsxZW2ZXyekureAFWTownfFfwCYdyzcOMXUJhljeJZMR2Mwdfmwz0jujL/gQsY3NkqzTD0uZ945tvNOl+uF8suKKFi1yLCKUD6XnXiFzY/fOKvZJxvCnNTdlJeocX6VP1pwnel7hfBvcug83CY/wh8PAkKrbo7XaNCefvWJBb8cThj+sTw7rK9DH/+Z574cj17D2sNFW8zb8NBxskKKvxCj3fnHJcwkQBTTP/C5SzRuk2qATwy4Tf5i7anExoNN34GlzwPu362LujuPDGne882Ybw8aQCLHh7JdefE8cXqNEb9axH3fbyGzel5bgxcudK3a/ZzqV8ytl6XWt8Qq2t/LiY8lmv9l/NpspZaUPXnkQm/WVy0PR0RGHIP3P0zBLWCD66GBU9C+Ykhmu1bBfPMlQksfexC7hrehZ+3ZnLpq0u4/d2VrNpbcz551ZwcOFJEYOpSwkwBVO/OqeLjgyRcyzBZS/KWnRzRG/lUPXlkwvcaMX2tpD/4blj+Grw1Gnb+CNWGaEaHBfLEJb359fFRPDymB+tSc5k4bTnXTVvOz9sydThnMzRnXTqX+qyg0r+W7pwqCROxmQouZgVfrUlzbYCqydKE725+QXDpC3D9LDh2FD64xrpLd9v8kxJ/RJAfU0d159fHRvHUhD6kHi3i9ndXcdmrS/lmXToVOp9us2CM4ds1+7jULwWfnrV051SJiYeoXtwQtIJPkw/oiV/ViyZ8T9FzHNy/Bia8AkXZ1gXdNy+AzV9D5YmRGEH+Nm4b1plFj1zIC9f2o6S8gvs+XsPofy3itZ92sD+7yI0fQjXWloP5RB1eQZjJh75X1v1GEUi4lvjyjeQe2svGNOdc39mdVcD9H6/Re0SaCU34nsTXHwbdBvelwJVvQGkRfHqLdWF3w+dQWXH8rf6+PkxMas8PD45g2k0DiQ4L5H+/387wF37mytd/ZcbSPWTqZBlNztfr0hhvW4nxD7XKc5xO/LUAXOX3m1Mu3lZUGh7+dA1p63/m3aV7HL595XoemfCb9Sid+rD5QeINMHUVXPMOYOCLO+D1IbD2Y6g4UTjLx0cYF9+WT6ecx6+Pj+KJS3pRWl7J099u5txnF3Lj278xa9V+rcffBFRWGubZR+dIz0vq7s6p0qozxJ3DDcEr+HptGsVlFad/fwO9++seEtNn8UXAXzm48kuOlTp2+8r1PDLhN/tROvXlY4OEa+He5TDxPfANhK+mwGuDIOU9KD95dEZsiyDuGdGVeQ9cwI8PDWfqhd1IO3qMx77YQNLff+DO95L5Zl26/sf1UKv2HqFTwWpCK/NrH51Tm4SJxJXsJLpkL987cL6FvYcLefv7ZP4rYDYAV5V/x2y9ONzkeWTCVzX4+Fj9uVOWwKSPIaglfHM//HsgrHwLyk7tuukWHcZDY3ry88MjmTN1GLee14kNaTnc9/EaBj3zAw98soaftmZQWq53anqKr9amc4Xfivp151TpexVGfLgpeBWfOahbp7LS8PiX67nP5wuCTRGm79WMsK3nu6XL9eJwE+fr7gBUA4hAr0uh5yXWzVqLn4d5D8OSf8HQ+6Hf7yCkdY1VhH5xLegX14InLu3Nyj1HmLMunXkbDvL12nRaBPtxSXwbesSEER0WSHR4ANFhAUSHBRLkb3PTB/U+peWVfL/+AH+2pdSvO6dKaDTSZSRXpi3jrzuvJPVoEXEtgxsVy0cr95O1ZwPXB/6ADLoNhj9C5eavOffot/y6czTnd49s1PaV+2jCb4pErDIN3UbDnsWw+AVY8AR8/2foNAx6Xw69J1hVOqux+QjndW3NeV1b89fL+7JkRxZz1qXz9dp0imrp5gkL9D2e/KufCKzX1nNMeCChAa7/Z1RRaRCsaxjNwS/bs+hTuo4Q/zzoc2XDVk6YSItd99KfXXyR0pMHLup+1nGk5Rzj2Xlb+E/E54gJgZF/gtAoTPexTNq+iMeWbteE34Rpwm/KRKDLCOtxcL01hHPLHKvVP+8RaD8E+tiTf4sOJ63q7+vD6N4xjO4dQ2WlIedYGZn5xWTklZCZV0xmfglZ+SXHl63ef5TMvBJKaukCGtatNfeO6Mawbq0RcW4Czikq5b1l+5i5bA+92oTz5i2DCA/0c+o+XeGrtWlcFbAK4xeKdKtnd06VXuPB9kemtF7N31cncN+obmd1IjTG8KcvN3Au6xlYvAIu+iuERgFgO+cOWm2fR8COeew53J/OkSEN3r5yP/HkPrmkpCSTnJzs7jCansytVuLfPAcyNljL2g2wWv59roDWXc9qs8YY8orLycovJjOvhIz8YvYcLuKTlfvJzC8hPjace0d0Y1x8G2wObnkfzD3GO0v28NHK/RSVVjC0a2tW7jlCj5gw3ps8mKiwAIfuz5UKSsoZ8rf5rAz4AyF9xsA1bzd8I5/eQvGupfTNfZn/3DWUoV0b3gr/PCWVRz9bQ3LkX2nlW2qNEqsqy1xZScXL/ViVE8Z3SW/z1OV9Gx6jchkRSTHGJNVcri385ii6l/UY8Shk74It31gngIV/tR7Rfe0t/8shurf1TaEeRISIID8igvzoFh12fPkfLuzK7NVpvLl4N3/4aDWdWgdz9/CuXD0wlkC/xl0H2JVVwJu/7GL2mjQqDVzevx0P9Mql068PkdGjG6N2TeLaacv4z+QhdGjduL5rd1mw8RADKjcRUpHb8O6cKgkTCdz8NaMDt/FZcocGJ/zMvGKe/mYTj0avpFXeDvuosGonUR8fbOdM5tyFf+WZ5N/IG9OjWXyz8jYubeGLSAiwGPgfY8y3Z3q/tvAdLOcAbP3WavnvXw4YaN3N6hKI7A4hURAcaU3RGBIJ/g372l5Rafh+0yHe+GUX61NziQoL4I7zO3PDkA4NTg7rU3N4Y9Euvtt0CH+bD787pz13DY2j/fpXYelLEBgBx46S1etmLt42AT9fG+9PHkzvtuEN2o8nuGXGSq5N+ycTbL8hj+y0ym00VFkx/G8PVocM4/rMW1j154vqfcyNMdzznxSSt+9jZdij+Eb1gNvnndoQKMik8sU+zCi9CMb+gzsv6NLwOJVLNKqFLyIzgPFApjEmvtryccArgA142xjz3Bk29Rjwab2jVo7Voj2ce6/1yM+wJ/+vYdm/wdQyNt8v+OQTQEgUBLe2nkOiTiyLiQebLzYf4ZKEtoyLb8OyXdlM+2UXz83fyus/7eSm8zpy+7BORIfVPfrEGMOyXdm8sWgXS3ceJizQlz+M7MZtwzoRWbADPr8MMjZC4k0w7h+w+AWilv2bhefEMH79UK57cznv3HoOgzu3cuJBdKys/BJ+23GQaSGrkB7jzi7ZgzWqp88E+m/8Csqv45t16dw4pGO9Vp274SDfb85gdo8l+O4/DGM/q/1bX2g0Pr3HM2nzD1z+6zZuH9bZ4V13yrnq26UzE3gNeL9qgYjYgNeBi4FUYJWIzMFK/s/WWH8y0A/YDNRzvJlyqrAYOOcO61FaBIWZ1mQshYetWbmKDp/8c0GGNTVjYRZUlJy8rZadYfjD1rBQmx8iwrBukQzrFsmG1Fym/bKLab/s4p2le7h2UBx3X9CFTtUu+lVWGr7ffIg3Fu1inf2bwROX9OKGIR0I8xNY9gr8/Kx1/8H1n1jDUgEuehoKD9N61f8yb/QLXLOyBze/s4LXbxjIRX1iXHgwz97c9ekMli0El+eevnZOfSRMxLbmA25qtZXPkqPrlfCzC0r4n683cVHbYhLTPoJ+kyB2YN0rJE0mdNNsEvMW8eOWAYzt26bu9yqPU+8uHRHpBHxb1cIXkfOAp4wxY+0/PwFgjKmZ7KvW/zsQAvQBjgFXGWNOGfIhIncDdwN06NBh0L59+xr4kZRTGQOlBVbiL8yGo3us0s4H10GLjlbi73+9VR6imj2HC5m+eDdfpKRSXlnJpQltueuCLmzLyGfaL7vYnVVIx9bB3FO97//wDpg9BdKSrTtPL3sRgmu03ivK4OPrYddC8i+fwU2/RrExPY/nrk5gYlJ7Fx6Ys3Pl679yT+4rXMKvcLbdOVUqK+DF3uwN6svIA3fy/YPD6RETdtpV7v94DfM3HiSl14eE71to1XGKiK17BWMw/05i41Ebf2/7Cp/cfd7Zx6ucpq4uncbcaRsLVL+1L9W+rFbGmCeNMX8EPgLeqi3Z29833RiTZIxJioqKakR4yilEICAMWnWB9udAv+vg7l+s8s7BrWDOfdYdwCkzTyr90DkyhGevPjGhy6JtWVzx+q88+vl6An1t/Pv6ASx8aAQ3DOlAoE3gt2kw7QI4sguunQETZ56a7ME6sVz3HrQbSNi39/DJ2EqGdm3NI5+vZ/riXS47LGdj7+FCNhzIZqRZAY3pzqniY4P4a+h4ZCktfYrOeOftD5szmLMunb8PKiJ817cw7IHTJ3sAEeScySSYbeTuWcOmdC+td9VENSbh19Z5d8avC8aYmWe6YOv1xdOaGhGrvPNdP8MNn1n9+t88YCX+Ve+cNJNXdPiJCV3+dmU8700ezNz7z2dC/3b42nwgZz+8fzl895g19+/vf4P4a06/f/8Qa9rIlh0J+vwm3hkXxGX92vKPeVt5dv4Wjy0HMGddOuf5bCaoLKfx3TlVEq5FKkp5MHYbX65Oo6yOSc5zj5Xx5OwN9I4J4drD/wdhbWHY/fXbR//rMbYAbvH7iZm/7nVM3MolGpPwU4Hq35njgPTGhWPR4mlNlAj0GAN3LoSbvrCSyNyH4NUBVs2faok/IsiPm8/tyIgeUdbNWsbA6vfh/4ZC+hq4/N9ww6xT7hauU3AruOlL8A/B/+OJvDq2JTed24E3f9nNo5+vp7yOxOcuxhi+WpvGbS3Wgn8odLvIMRtuNxBadWG8z1KyC0v5aWtmrW/7+9zNZBeWMn3AXnzSU2D0X+o/Kiu4FdL3Kq7y/ZUf1u3mcEHJmddRHqExCX8V0F1EOouIPzAJmOOIoLSF38SJWAnsju/h5tkQ0d66+/eVRFgx/dRib/mHrAlf5twH7RLh3mUw8JZ63x9wXIv2cPOXUH4M24fX8LeL2vDA6O58lpLKlA9WO7x8cGNsSs9jX1Ye55f/Bj3GNr47p4oIJEykZcZv9A4t4rPk1FPesnh7Fp8mp/L7Ye1ov/p5aJtoXaxtiKTJBFYWMc4s5aMV+x0Tu3K6eiV8EfkYWA70FJFUEbnDGFMOTAUWAFuAT40xmxwRlLbwmwkRa07Wyd/BLV9Dy04w/xF4pT/89gaUHYONX8D/nQu7F8G4f8Itc6Bl/YYT1iq6N9zwKeSlIR9N5MHh7Xj6ir4s3JrBLTNWklfsGfMCfLUmjfN9txBYevTsb7aqS/y1CIb/areRn7dlnjRbVUFJOU98uYEuUSHcH/Qd5KXBuGetiqwN0X4wRPdlSvAi/rN8r1ZdbSLq9Vc2xlxvjGlrjPEzxsQZY96xL59njOlhjOlqjPm7o4LSFn4zIwJdRsLk+XDrt9bNXt89Di90h88nQ6uuMGUpnDul4YmnNh3OtS7yHlwPn97MLee045VJA1iz/yi/e/M3t0/XV1Fp+GZ9OpNbrgO/EOh+sWN3ENUD2vbn/OJFVFQaZq8+Ucf++e+2kp57jJcuicFv+SvW3dYdhzZ8HyKQdDudynbStnALczc4pDdXOZlH1sPXFn4z1vkCuH0u3DbXqvh50VMweYF1p68j9bzEmh9410/w9e+5PKEN79x6DvuyC7n2jeVsTMul0k0Tv6/Ync3hvCLOLVlmXex2VHdOdQkTCcxcy/jYouOTnK/Ync37y/dx29BO9N/+GlSWw8V/Pft99Psdxi+EKaG/8O6vez324rg6wSMTvrbwvUCn861W+PkPgs1JJZ0G3mxdjNzwGXz/JMO7R/LhnUPIKy5j/L+X0v+v3zNp+nL+MW8L36xLZ192oUuS1ldr0xjhv40AZ3TnVOl7NSBMab2GXVmFLN+VzWNfrKd9qyAe7V8Maz+EIfdYw2vPVmA4knAtYyqXsjc1ndX7jzosfOUcHlk8zRjzDfBNUlLSXe6ORTVx5z8EBZnw2/9BaAwDzv8jC/44nF+2ZbE+LYcNaXnM/HUvpfZRPOGBvvSLa0FCXAT9YiOIj40grmWQw8o+F5dVMH/jId5svR4KnNCdUyUiFjqdT5/DCwj2v4ApH6SQV1zOh3cMJmjhbdaopuGPNH4/Sbfju/o9JgUuZ8bSbgzq2HTKWngjj0z4SjmMCIx91ioR8eP/QEgUMQNu5Lpz2nPdOdao4tLySrZn5LMhLZf1qblsSMvhrcW7Kbd3+bQM9iMhrgX9YiNIiIugb7twYluc3Ulg0bZMiopLSCpa4tjRObVJuBafbx7g7m75vLw5hOsHd2BY+QrYtxQu+5dVgK6x2g2AdgO46+gizt10EWk5x4ht4cTPpBrFIxO+iEwAJnTr1s3doajmwMcHrnzDqg805z6rAFzPccd/7e/rQ7y9NX/9YGtZcVkF2w7lsz4tlw2pOaxPzeWNnYepsJ8EQgN86R4TSs+YMHrEhNGzjfUcGep/2hPB12vTGRO8A/+So4672aouvS+HuQ9za1gy+wbcwBNju8A7t0BULxh4m+P2kzSZqDn3MYitvL+8C09c0ttx21YOpROgKO9Rkg8zx0PWNrhqGnS64JQ5gE+nuKyCTel5bDmYx/aMfLYdymd7Rj5Hi04M9WwV4k+PqhNBmzB6xoTRPSaMiCA/8orLSHrmRz5q8wlJud/DI7vA38k1/D++3rqR7cFN1lDY75+EG7+wLpg7Smkh/KsXK/wGc3fhPSx/YhTB/h7ZlvQaOgGKUgFhcOPn8O44+OxWa1l4LLRJgDb97M8J1v0CtbTSA/1sDOrYkkEdWx5fZozhcEHpSSeAbRn5fJ6SSmG1eYLbhAfSKsSfivIy+hcssWrnODvZAyRcC9vmWZPg/PK8dUOcI5M9WHfo9p/EOckz8Tl2LbPXpNW7NLNyLU34yruERsE9iyF1FRzaYI3VP7QBdnwPVfX8AsJPJP+qE0FUL/D1P2VzIkJUWABRYQEM63ZililjDGk5x9iRUcC2jHy2H7JOBHd1OIhfZrbzu3Oq9LjEGuv/1b1WaYsxDrtd5mSDbsdn5XSmtlrJu7+244bBHZw+v7FqOI9M+NqHr5zKP8S6EazLyBPLyo5B5uaTTwKr34eyIuv3Pn7WtJFt+kF0H+u+gcjuVklon1OncRQR4loGE9cymAt7RZ/4xbdfwtFg6Oak0Tk1+QdD7/Gwfhacc6f1GZwhpg+0P5frjizkmcxRLNlxmOE9tNqtp/HIhK/DMpXL+QVB7CDrUaWyAo7shkPrT/4msPbDE++x+Vtj2Vt3s04ArbtDZA+I7GZN2FJdRbnVtdJjrGu6c6oMuQdy02DkE87dT9JkwmbfzbjgHbz7a4wmfA/kkQlfKY/gYzvRkq9eorkwG7J3WBO0VD1nbYPt31l3r1YJjrSfBOwnA2OsiWOcdbNVXWIHWXc3O1ufK+C7x3gweCljtvVkV1YBXaNCnb9fVW+a8JVqqJDW1qPDuScvryiDo/tqnAx2WieCNf+x3uMfCt3HuD5mV/ALhMQb6b5iGu1sE3lv2V6eviL+zOspl/HIhK99+KpJsvlZXTmR3U7Mu1vl2FEr+QeEurY7x9UG3Y4sf40/t0vh4ZSW/NeYnkQE+Z15PeUSHllLR4unqWYnqKU1JWR0M78pKbIbdB7ORcfmU1xaxqerTj/NonItj0z4SqkmLGky/gWp3NV2NzOXaa18T+KRXTpKqSas52UQEs0dgT/z5sFu9Prv+USFBdAmIoi24YG0iQikbUQgbVsE0TYikDbhgcSEB+Lvq+1PZ9OEr5RyLF9/GHgzUUtfYsZV/83a3FAO5hZzKK+YnVkFLNmRddJdyFUiQwOsE4D9hNAmIpDosECiwwKIDg8gOiyQFkF++PjoDV1nSxO+UsrxBt6KLHmRUYXfMWrMk6f8Or+4jEO5xdaJoOo57xgHc4s5cKSIlXuOkHvs1Oko/WxCZGgA0WEBRIUF2k8E1p3O1U8OkaEB+Nlc842hrKKSQ7nFHDhaROrRY2Agyh5XdFggrUP8PeYkpQlfKeV4LTtadXtWvw8X/Jc1ZLOasEA/wgL96B4TVucmikrLycwrIaughMy8EjLzi8nMP/E69WgRa/YfJbuw9JR1RaBVsP/xshdR1U4K1nPA8efQAN/TloGomdCth/U67egxDuYe43STp9l8hNYh/se/pURX7T/8xOvo8ECiQgOc3q3lkdUyqw3LvGvHjh3uDkcpdTa2zYePJ1mvQ6IgrA2EtYPwthBmf4S3O7E8uFWtRevOpKyiksPHTwolZOWfODlYr0s4bH9dNdFNdYF+PsdPBFGh1omgsLS8zoQuAm3DA+2lM4Lsj2DiWgUR1yIYEez7PvkEdeJ1CdmFJdSWeicOiuOFif0bfAxqqqtapkcm/CpaHlmpJswY2PotZGyCvHTIPwT56ZB30JqboCab/4nkH9bGOhmERFp3LFd/Dom0Ctw18ORgjCH3WNlJJ4UsexKu+haRVWD9LtjfdiKRtwyi/fHkHkybiMZfYC6vqCS7sPSkk8GHK/ZRUFzOokcubNS2QcsjK6VcTQR6T7AeNZWXQsEhK/nn2x/HTwoH7XWLfoCywtq37eNX7STQusZJwf5zeDuIiIOQaPDxQURoEexPi2B/epymK6neCrPh8HY4vO1EeY3D28E3ENr2g7b9rUebfhDU4qRVfW0+xNhHJ4F1v9H2jHw+T05tfFynoQlfKeV6vv7QooP1OJ3SIuvbQOFhKMq2Px+u9pxtPR/dZ/2+JO/Ubfj42ZN/e+sEEBFnzflb9XN4LASG177/ykrI3X9yQq96FGVX+zxB1k1ncUlW5dV9y2HDZyd+36LjiRNA20TrhBAafdKuIkMDyC8pp7isgkC/UyuwOoImfKWU5/IPBv96nBiqlJfYTwxZ1reH3AOQlwa5qdZj3zLrZ1NjWGhAxImTQXg7KM49UQ+pvPjE+4IjrWqovSfYq6L2tArjRbS3ptKsrvAwHFxnPQ6tt563zDnx+7C2J30LaO8TBRiOFJbSzknzAmvCV0o1H74BVsIOb2cl0tpUVlhdR7mpkJd64mSQm2adINKSrdnRIntAlxHWc1RP6zm4Vf1jCYmEbqOtR5Xi3BNzLlSdDOyT71wO4Hce2QUXaMJXSimH8LHZu3RigSGu3XdgBHQ633pUKS2CzM3kf/MEiQd3squwxGm7d9m9zCIyUkSWiMg0ERnpqv0qpZRH8w+GuCRM2wFESh7ZBafeV+Ao9Ur4IjJDRDJFZGON5eNEZJuI7BSRx8+wGQMUAIGAcy9FK6VUExPQsg3BUkJuzlGn7aO+XTozgdeA96sWiIgNeB24GCuBrxKROYANeLbG+pOBJcaYX0QkBngRuLFxoSulVPPhHx4DQEnuISDBKfuoV8I3xiwWkU41Fg8GdhpjdgOIyCfAFcaYZ4Hxp9ncUSDgLGJVSqlmS0KthF+Rl+G0fTTmom0sUH12g1ROcwVERK4GxgItsL4t1PW+u4G7ATp0qOdQLKWUaupCrUnfTWGm03bRmIRf233NddZpMMZ8CXx5po0aY6YD08EqrXDW0SmlVFMSYt2IZaut7ISDNGaUTirQvtrPcUB648KxiMgEEZmem5vriM0ppZTnC4kEIKDYMxP+KqC7iHQWEX9gEjDnDOsopZSqjc2PIt8IgsqO4KyilvUdlvkxsBzoKSKpInKHMaYcmAosALYAnxpjNjkiKJ3EXCnljYoDWtPK5FBQUu6U7dd3lM71dSyfB8xzaEScVA/f0ZtWSimPVR4YSWR+DtkFpYQF+jl8+x45a7C28JVS3siERBFJLtlOKq/gkQlfKaW8kS08xqnlFTwy4esoHaWUN/KPaEOYHCMnr5a6/g7gkQlfu3SUUt4oqGUbAI4dPeiU7XtkwldKKW/kF24l/NJc55RX8MiEr106SimvFGKVV6gscE55BY9M+Nqlo5TySvZ5bn2cVE/HIxO+Ukp5JXsL3+9Y9hneeHY8MuFrl45Syiv5BnDMFkpQqRclfO3SUUp5q2P+rQktP0JlpePr6XhkwldKKW9VGhBJpOSSc6zM4dvWhK+UUh6koqq8QoHjyytowldKKQ/iExpNlORy2AnlFTwy4etFW6WUt2oVE0e4FJHYNtDh2/bIhK8XbZVS3iogwrrbNqj0iMO37ZEJXymlvJb95iuccPOVJnyllPIkrbpAnyvAN8jhm67XjFdKKaVcJKonXPe+UzatLXyllPISHpnwdZSOUko5nkcmfB2lo5RSjueRCV8ppZTjacJXSikvoQlfKaW8hCZ8pZTyEprwlVLKS4gxji+y7ygikgXsO8vVI4HDDgzHUTSu+vPEmEDjaihPjMsTYwLHxdXRGBNVc6FHJ/zGEJFkY0ySu+OoSeOqP0+MCTSuhvLEuDwxJnB+XNqlo5RSXkITvlJKeYnmnPCnuzuAOmhc9eeJMYHG1VCeGJcnxgROjqvZ9uErpZQ6WXNu4SullKqmWSZ8ERknIttEZKeIPO7kfbUXkZ9FZIuIbBKRB+zLnxKRNBFZa39cWm2dJ+yxbRORsdWWDxKRDfbfvSoi0sjY9tq3t1ZEku3LWonIDyKyw/7c0lVxiUjPasdjrYjkicgf3XGsRGSGiGSKyMZqyxx2bEQkQERm2ZevEJFOjYjrBRHZKiLrRWS2iLSwL+8kIseqHbdpLo7LYX+3s4mrjphmVYtnr4isdcOxqisnuP3fF8aYZvUAbMAuoAvgD6wD+jhxf22BgfbXYcB2oA/wFPBwLe/vY48pAOhsj9Vm/91K4DxAgPnAJY2MbS8QWWPZ88Dj9tePA/90dVzV/k6HgI7uOFbAcGAgsNEZxwb4PTDN/noSMKsRcY0BfO2v/1ktrk7V31djO66Iy2F/t7OJq7aYavz+X8Bf3HCs6soJbv/31Rxb+IOBncaY3caYUuAT4Apn7cwYc9AYs9r+Oh/YAsSeZpUrgE+MMSXGmD3ATmCwiLQFwo0xy431V3wfuNIJIV8BvGd//V61fbg6rtHALmPM6W6sc1pMxpjFQM1Zoh15bKpv63NgdH2+hdQWlzHme2NMuf3H34C4023DVXGdhkuO1+lisq97HfDx6bbhpGNVV05w+7+v5pjwY4ED1X5O5fQJ2GHsX6sGACvsi6bav4bPqPb1ra74Yu2vay5vDAN8LyIpInK3fVmMMeYgWP8wgWg3xAVWq6T6f0Z3Hytw7LE5vo49WecCrR0Q42Ssll6VziKyRkR+EZELqu3bVXE56u/m6LguADKMMTuqLXP5saqRE9z+76s5JvzaznJOH4okIqHAF8AfjTF5wBtAVyAROIj19fJ08Tkj7mHGmIHAJcAfRGT4ad7rsrhExB+4HPjMvsgTjtXpnE0czjhuTwLlwIf2RQeBDsaYAcBDwEciEu7CuBz5d3P08bqekxsULj9WteSEOt9ax34cHltzTPipQPtqP8cB6c7coYj4Yf1hPzTGfAlgjMkwxlQYYyqBt7C6mk4XXyonf1VvdNzGmHT7cyYw2x5Dhv2rYtXX2UxXx4V1AlptjMmwx+f2Y2XnyGNzfB0R8QUiqH+XyClE5FZgPHCj/es99i6AbPvrFKy+3x6uisvBfzeHxWVf/2pgVrVYXXqsassJeMC/r+aY8FcB3UWks70lOQmY46yd2fvN3gG2GGNerLa8bbW3XQVUjSSYA0yyX2XvDHQHVtq/4uWLyLn2bd4CfN2IuEJEJKzqNdaFv432/d9qf9ut1fbhkrjsTmp9uftYVePIY1N9W9cCP1Ul6oYSkXHAY8DlxpiiasujRMRmf93FHtduF8blyL+bw+ICLgK2GmOOd4e48ljVlRPwhH9f9bmy29QewKVYV8Z3AU86eV/nY32VWg+stT8uBf4DbLAvnwO0rbbOk/bYtlFtdAmQhPWfZhfwGvYb484yri5YV/7XAZuqjgNWP99CYIf9uZWL4woGsoGIastcfqywTjgHgTKs1tIdjjw2QCBWl9VOrJEWXRoR106s/tqqf19VozOusf9t1wGrgQkujsthf7eziau2mOzLZwJTarzXlceqrpzg9n9feqetUkp5iebYpaOUUqoWmvCVUspLaMJXSikvoQlfKaW8hCZ8pZTyEprwlVcSkWdFZKSIXCl1VFQVq7rnIrGqK24Rken25YlSrTKkUk2FJnzlrYZg1TcZASyp4z2vAi8ZYxKNMb2Bf9uXJ2KNq1aqSdGEr7yKWLXl1wPnAMuBO4E3ROQvtby9LdWKVxljNtjv3n4a+J295f87+13NM0Rklb041xX2fd0mIl+LyHdi1Tn/H/vyEBGZKyLrRGSjiPzO2Z9bKQBfdweglCsZYx4Rkc+Am7GKaC0yxgyr4+0vAT+JyDLge+BdY0yO/eSQZIyZCiAi/8C6tX2yWJOTrBSRH+3bGAzEA0XAKhGZizUHQLox5jL7+hFO+bBK1aAtfOWNBmDd7t4L2FzXm4wx7wK9sW5hHwn8JiIBtbx1DPC4WLMrLcK67b2D/Xc/GGOyjTHHgC+xbrvfAFwkIv8UkQuMMbkO+ExKnZG28JXXEJFErDorccBhrLo+Yk/U59mT8kmMVXF0BjBDrKn04mvbNHCNMWZbjf0N4dSStcYYs11EBmFdB3hWRL43xjzdmM+mVH1oC195DWPMWmNMIiemnPsJGGu/KHtKshdrbmQ/++s2WMWv0oB8rKnrqiwA7rNXNEREBlT73cVizWUahDVb0a8i0g4oMsZ8APwv1jR9SjmdJnzlVUQkCjhqrBruvYwxdXbpYC8pLSLrsJL6I8aYQ8DPQJ+qi7bA3wA/YL39W8Dfqm1jKVZVybXAF8aYZCABq59/LVaVxGcc+RmVqotWy1TKSUTkNqpd3FXK3bSFr5RSXkJb+Eop5SW0ha+UUl5CE75SSnkJTfhKKeUlNOErpZSX0ISvlFJeQhO+Ukp5if8HgOCFQwlm6XQAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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wPo3QoEQgrGxMX71q1/xjW98g7y8PNra2vjNb35DZ2cnDQ0NgPOzhmNi21zEnLQowH/K9c4772T37t3KZC6dTsfBgwenPGYgGongzLFv2LCB559/fi5ExKcFs9nMq6++yu7du6mvr1c0NdauXRt0XcXw8DAGg4HOzk5sNhsLFy4kOzvbZ/ObzWbjjjvuYPXq1fzgBz8466txv//971NRUcEXv/hFRkZGSEhIoLGxkY8++ojBwUGWLVvGpZdeGsqh5/wXM2eJItw4i3PsYcPo6Ch79+5l9+7dVFdXK5oaF1xwQcDBva6uLjo7OyktLVUGKbuK9Mj9J3a7nbvuuouSkhIeeOCBs5YkGhsb+cUvfkFqaiojIyN85jOfUWIcAJWVldx8883ccccdfOc73wn1NHP+yzlviOIszrFHBOPj47zxxhvs2rWLw4cPs3HjRq677jo2btzos/9EJony8nI3YpFHGRgMBkwmEx999BFtbW0UFxfz0EMPnbUkAU790ueee47h4WEee+wxRkdH+d73vkdRURFXXHEF3d3dvPzyy9x7771AyKrgc/4LmpMxikgg0C7XF198kbfeeotPP/10ppc4o/DU1HjrrbfYvXs33/3ud7ngggvYvn07F198seJWdHd309HRMYkk5GMVFRUpStW/+93vOHbsGM3NzTz11FPcfvvts/ERpw0hBDExMXzta18DnOnl6upqGhsbef/990lKSuKyyy5TSMJut0974PVcxXlDFDOVYz8bER0dzdVXX83VV1/tpqnxgx/8gDVr1pCdnY3ZbOb//b//N2W3q8Ph4Je//CWFhYW8+OKLDAwM0NzcPO31zVY5v3x9yFZCVFQUaWlp/PSnP8XhcEyK8ZzT140QYqp/5ww++ugjceWVVyp/P/TQQ+Khhx5y22bevHmiuLhYFBcXi4SEBJGZmSlefPHFGV7p3IHNZhM/+9nPREFBgSgvLxc33XST+POf/yx6e3vFyMiI2z+z2Sz+8R//UXz9618Xdrs9rGtYsGCBOHXqlJiYmBArV64UNTU1btt8+OGHwmg0CiGEeO2118T69evDdn5XHDhwQNx3332ROLS/+3DW/503FkUgKdempibl/+UcezCFOOcahBA0NjZSXV1NUlISBw4cYOfOnTz88MMsWrSI7du3c+WVV5KQkMCDDz6I0WjkySefnFaXqidcy/kBpZzfNQjtKnQTyXL+8fHxiGl4znWcN0QRqRz7HBpLF3bodDp+97vfKX9v2LCBDRs24HA4OHLkCDt37uTf//3fsVgslJaWsmvXrrCb34HEllwRyXL+iy+++PwV1vFjcqiYAoGYxSaTSZSVlYmWlhYhhBA9PT2zsdSIwW63iz179giz2RyR47/wwgvijjvuUP5+5plnxI4dO7xu+9Zbb4klS5aIvr6+iKwlgph118LfvznZFHa2IJAu1z/96U9cf/31yrzMCM2unDVoNBq2bt0asVkkgaqjVVVVceedd7Jnzx7S09MjspbzGSpRTAPqWLrIIxAFNbWcP/I4b2IUkYAIIOWqjqWbHgKJLf30pz+lv7+ff/iHf1D28VfOryI4qEQxDahj6WYGmzdvZvPmzW6vuQafn3jiCZ544omZXtZ5BdX1mAbUsXQqzheoRDENuJrFZWVlfOlLX1LMYtk0dh1Lt379+oDH0vlTkx4cHGTLli2sWrWKZcuW8dRTT4X986lQIeO8aQo7mxBIp+tDDz3E4OAgjzzyCL29vSxevJju7m6/805VzEnM+aYw1aKYgwgk7SpJEmazGSEEw8PDpKWlhX2YsQoVMlSimIMIJO26Y8cOamtrycvLY8WKFTz66KNhLZ2OJPy5VUII7r33XkpKSli5ciWHDx+ehVWqcMXZcWVFALLLdd999ylDc+cKAkm7vv7665SXl9PZ2cnRo0fZsWMHQ0NDM7XEkGG32/nmN7/J3r17OX78OH/+8585fvy42zZ79+6loaGBhoYG/vd//1cdMzgHcN4ShXzjpaen8/rrr+NwOPjDH/7Azp07fUrWzxQCSbs+9dRTXH/99coMkPnz5yvzPOYyAnGr9uzZwy233IIkSWzYsIGBgQG6urpmacUq4DwmCpvNBsDKlSt5+eWX+Y//+A927dpFQkICGo0Gu90+a4QRSNq1qKiIN998E4Cenh7q6uqUDsu5jECH9AQz10VF5HHeRr90Oh3j4+M899xzHDhwgG9/+9vs2LGD2NhYxsfHiY2NndW1+atG/Jd/+RduvfVWVqxYgRCCRx55hIyMjFlbc6AIxK0KZBsVMwt/6dFzEpIkZQKfAe4H9gBbgUuEEBZJktKAbwF64AEhxMCsLTTMkCTpd8C1gEEIMamYQ3LejY8Cm4FR4FYhRFgjiZIkXYjze73q9N8/ABBCPOyyzf8A7wgh/nz67zrgUiGE6n/MEs5X12M9cBVwG/A40A1kS5IkCSGMwK+BRecSSZzG08DVU7x/DbDo9L9v4Pxuwo1PgUWSJM2XJCkauAn4q8c2fwVukZzYAAyqJDG7OC9dDyHEq8Cr8t+SJHUBnxNCyOWNnwEqT7+nEULMbnQzTBBCvCdJ0rwpNtkGPCOcZuZ+SZJSJEnKDedNKoSwSZK0A3gd0AK/E0LUSJJ01+n3fwu8htOqOYnTsonMDEIVAeO8JApJkrRCCLv8txDibkmSdKffiwIuAnbKb8/CEmcL+UCby9/tp18L69NcCPEaTjJwfe23Lv8vgG+G85wqpofz0vVwJYnTfrn8pEsH/gu4Bcg7/fr5RBTeIobn0+dX4QPnpUXhClciEEL0A9+QJGkpkDB7q5o1tAOFLn8XAJ2ztBYVcwjnpUXhCy7WxXEhxLk9Acg71CCiCq847y0KV5zrboYkSX8GLgUyJElqB34MRIEaRFQxNc7LOgoVKlQEB9X1UKFChV+oRKFChQq/UIlChQoVfqEShQoVKvxCJQoVKlT4hUoUKlSo8AuVKFSoUOEXKlGoUKHCL/5/iepMx2HiLnIAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Mean residual: 0.0011916433\n",
      "L2 relative error: 0.001267322116966461\n"
     ]
    }
   ],
   "source": [
    "if __name__ == \"__main__\":\n",
    "\n",
    "    # Problem parameters:\n",
    "    a = 0.4 # Thermal diffusivity\n",
    "    L = 1 # Length of the bar\n",
    "    n = 1 # Frequency of the sinusoidal initial conditions\n",
    "\n",
    "    # Generate a dataset with the exact solution (if you dont have one):\n",
    "    gen_exact_solution()\n",
    "\n",
    "    # Solve the equation:\n",
    "    main()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "py3.8",
   "language": "python",
   "name": "py3.8"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
